From fc6a9635fb3863feb0cbcd5a08a4ce455bfe13e0 Mon Sep 17 00:00:00 2001 From: Alexandre Emsenhuber Date: Tue, 26 Feb 2013 16:33:13 +0100 Subject: [PATCH] (bug 45417) Remove resetArticleID() call from RecentChanges::getTitle() This is doing more harm than good; see I489c406f (4769f44) for a similar issue. The problem is that if resetArticleID() get called with a strictly positive value when the page does not exist, getArticleID() will return that value indicating that the page exists, but the LinkCache will return null for complementary fields, causing the exception mentionned in the bug. By removing the resetArticleID() call, the ID will get loaded from the LinkCache, and thus the whole Title object is in a consistent state. Since a LinkBatch is already executed for those titles from Special:Recentchanges and Special:Watchlist, this will not increase the number of database queries for those special pages (and even lowers it from what I saw on my development wiki). Change-Id: I8742cce46908ce8eb3fee55c1b6e458732b1ebd7 --- includes/RecentChange.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/includes/RecentChange.php b/includes/RecentChange.php index f63e95cc42..6af7597f4d 100644 --- a/includes/RecentChange.php +++ b/includes/RecentChange.php @@ -191,8 +191,6 @@ class RecentChange { public function &getTitle() { if ( $this->mTitle === false ) { $this->mTitle = Title::makeTitle( $this->mAttribs['rc_namespace'], $this->mAttribs['rc_title'] ); - # Make sure the correct page ID is process cached - $this->mTitle->resetArticleID( $this->mAttribs['rc_cur_id'] ); } return $this->mTitle; } -- 2.20.1